package com.kuaimacode.kframework.api.service.invite;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.kuaimacode.kframework.common.Constant;
import com.kuaimacode.kframework.mybatis.mapper.invite.InviteMapper;
import com.kuaimacode.kframework.mybatis.models.invite.Invite;
import org.springframework.stereotype.Service;

import java.util.List;

/**
 * @author anzy
 * @date 2019/03/31
 */
@Service
public class  InviteService extends ServiceImpl<InviteMapper, Invite> {

    	/**
    	 *  分页查找所有的数据
    	 * @param pageNum 当前页码，从1开始
    	 * @param pageSize  一页显示多少行
    	 * @return
    	 */
    	public PageInfo<Invite> findAll(int pageNum, int pageSize) {
    		PageHelper.startPage(pageNum, pageSize,true,false,null);
    		List<Invite> datas = baseMapper.selectList(null);
    		return new PageInfo<Invite>(datas);
    	}

		/**
		 * 查询生效的活动
		 * @return
		 */
		public Invite queryAvailableInvite(){
    		QueryWrapper queryWrapper = new QueryWrapper();

    		queryWrapper.eq("is_available", Constant.IsNotEnum.YES.getCode());
    		return baseMapper.selectOne(queryWrapper);

		}

		/**
		 * 配合 queryAvailableInvite 使用 ，如果是否生效标识都为 0  ，则查询最近 过期的活动
		 * @return
		 */
		public Invite queryLastInvite(){
			QueryWrapper queryWrapper = new QueryWrapper();
			queryWrapper.orderByDesc("end_date");
			return baseMapper.selectOne(queryWrapper);

		}

}

